package org.jeecg.modules.music.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.api.vo.songs.MP3DetailVo;
import org.jeecg.modules.api.vo.lyric.LyricVo;
import org.jeecg.modules.api.vo.songs.SongsDetailVo;
import org.jeecg.modules.music.entity.MusSong;
import org.jeecg.modules.music.entity.dto.HomeMusCountDto;

import java.util.List;

public interface IMusSongService extends IService<MusSong> {

    void saveSong(MusSong song);

    boolean deleteSong(String songId);

    boolean deleteBatchSongs(String ids);

    void editSong(MusSong musSong);

    List<SongsDetailVo> queryAPISongDetail(String[] ids);

    LyricVo queryLyric(String id);

    //获取音频文件
    MP3DetailVo queryAudioFile(String songId);

    List<SongsDetailVo> getSimilarSongs(String id,String singerId, String composer, String lyricist);

    List<SongsDetailVo> querySongsByAlbumId(String id);

    List<SongsDetailVo> getSongsListByAlbumId(String id);

    List<SongsDetailVo> querySongsByArtistId(String id);

    List<SongsDetailVo> searchSuggestSongs(String keywords);

    List<SongsDetailVo> searchSongs(String keywords, Integer limit, Integer offset);

    List<SongsDetailVo> querySongsByUserId(String uid);

    List<HomeMusCountDto> queryGroupLanguage();

    List<HomeMusCountDto> queryGroupGenre();

}
